
// api/index.js   此文件的作用
// 统一管理整个项目的网络请求接口
// 每个方法对应一个接口和功能
// 以api 结尾的方法都是网络请求方法(内部都是ajax请求)
// ajax请求是一个异步请求  -  在未来回来才会触发一个函数
// premise来管理异步代码(request方法原地返回一个promise对象)
// 总结 :每次调用以api结尾的方法  都会得到一个promise  对象
// 所有的网络请求
import request from '../utils/request' // 引入axios 请求方式
// 用户[-登录接口

export const loginAPI = function (data) {
  return request({
    url: '/mp/v1_0/authorizations',
    method: 'POST',
    data
  }) // 这里会发起真正的网络请求
}
// 获取用户资料接口
export const userInfoAPI = () => {
  return request({
    url: '/mp/v1_0/user/profile',
    method: 'GET',
    headers: {
      Authorization: 'Bearer ' + sessionStorage.getItem('token')
    }
  }) // 这里会发起真正的网络请求
}
// 获取频道接口
export const getChannelAPI = () => {
  return request({
    url: '/mp/v1_0/channels',
    method: 'GET'
  }) // 这里会发起真正的网络请求
}

// 发布文章接口
export const articleAddAPI = (params, data) => request({
  url: '/mp/v1_0/articles',
  method: 'POST',
  params: params,
  data: data,
  headers: {
    Authorization: 'Bearer ' + sessionStorage.getItem('token')
  }
})
// 获取文章接口
export const getchannelAPI = () => request({
  url: '/mp/v1_0/channels',
  method: 'GET'

  // headers: {
  //   Authorization: 'Bearer ' + sessionStorage.getItem('token')
  // }
})

export const getArticleAPI = (params) => request({
  url: '/mp/v1_0/articles',
  method: 'GET',
  params,
  headers: {
    Authorization: 'Bearer ' + sessionStorage.getItem('token')
  }
})

// 获取指定文章
export const getArticleIdAPI = id => request({
  url: '/mp/v1_0/articles/' + id,
  method: 'GET',
  headers: {
    Authorization: 'Bearer ' + sessionStorage.getItem('token')
  }
})

// 更新文章
export const putArticleAPI = (id, params, body) => request({
  url: '/mp/v1_0/articles/' + id,
  method: 'PUT',
  headers: {
    Authorization: 'Bearer ' + sessionStorage.getItem('token')
  },
  params, // ?后面
  data: body
})
// 评论数据开启
export const putCommentsAPI = (params, data) => request({
  url: ' /mp/v1_0/comments/status',
  method: 'PUT',
  headers: {
    Authorization: 'Bearer ' + sessionStorage.getItem('token')
  },
  params,
  data

})
